
#ifndef IFORMATTABLE_H
#define IFORMATTABLE_H

#include <Defines.h>

#include "String.h"

namespace Riccsson
{
	namespace System
	{
		//class IFormatProvider;

		// Summary:
		//     Provides functionality to format the value of an object into a string representation.
		//[ComVisible(true)]
		interface IFormattable
		{
			// Summary:
			//     Formats the value of the current instance using the specified format.
			//
			// Parameters:
			//   format:
			//     The format to use.-or- A null reference (Nothing in Visual Basic) to use
			//     the default format defined for the type of the System.IFormattable implementation.
			//
			//   formatProvider:
			//     The provider to use to format the value.-or- A null reference (Nothing in
			//     Visual Basic) to obtain the numeric format information from the current locale
			//     setting of the operating system.
			//
			// Returns:
			//     The value of the current instance in the specified format.
			public: virtual GC_PTR<string> ToString(string* format, IFormatProvider* formatProvider) = 0;
		};
	}
}

#endif // IFORMATTABLE_H